class Veicolo < ActiveRecord::Base
  acts_as_paranoid unless SHOW_DELETED
  TIPO_ALIMENTAZIONE = ['benzina', 'gasolio', 'benzina e gpl', 'benzina e metano', 'gpl', 'metano', 'miscela', 'elettrica']
  TIPO_VEICOLO = ['autovettura', 'autocarro', 'autocarro conto terzi', 'ciclomotore', 'macchina agricola', 'motoveicolo', 'rimorchio']
  CATEGORIA_EURO = ['euro 0', 'euro 1', 'euro 2', 'euro 3', 'euro 4', 'euro 5', 'euro 6']
  has_many :polizze, :as => :riferimento, :dependent => :protect
  has_many :note, :as => :nota_ref, :dependent => :protect
  has_many :allegati, :as => :allegato_ref, :dependent => :destroy
  has_and_belongs_to_many :centri_costo, :join_table => 'centri_costo_veicoli', :uniq => true, :class_name => 'CentroCosto'
  
  validates_presence_of :numero, :marca
  validates_date :data_immatricolazione, :data_acquisto, :allow_nil => true
  validates_uniqueness_of :numero, :scope => [ :numero, :data_dismissione, :deleted_at ] , :message => 'Veicolo già presente nel database', :case_sensitive => false
  
  def name
	  "#{numero} - #{targa}"
  end

  def scadenza_premio_assicurazione
    polizza = Polizza.first(:conditions => {:tipo_polizza_id => 1, :riferimento_type => "Veicolo", :riferimento_id => id}, :order => 'scadenza_premio DESC')
    polizza.scadenza_premio unless polizza.nil?
  end
end
